function JsonpBridge(){
    this.tokenQueue=Array();

    this.saveSuccessFunction=function(success){
        var tokenString=MD5(success.toString());
        this.tokenQueue[tokenString]=success;
        return tokenString;
    }

    /**
     * funzione che fa una query jsonp facendo finta che sia una query json,
     * permettendo anche di inserire una funzione di callback
     */
    this.jsonQuery=function(url,params,success) {
        //alert(JSON.stringify(params));
        var head = document.getElementsByTagName("head")[0];
        var script = document.createElement("script");
        script.type = "text/javascript";
        //alert(success);
        script.src = url+"&callback=jsonpBridgeV.cb&token="+jsonpBridgeV.saveSuccessFunction(success)+""+params;
        head.appendChild(script);
    //document.getElementById('footer').innerHTML+=script.src+"<br/>";
    //success();
    }

    this.sendGetRequest=function(url,params){
    }

    /**
     * funzione che prende json data e token e finita lì
     */
    this.cb=function(jsonData,token){
        //alert("tokenqueue "+dump(jsonpBridgeV.tokenQueue[token])+" token:"+dump(token));
        var func=jsonpBridgeV.tokenQueue[token];
        try{
            func(jsonData);
        } catch(e){
            alert("errore in callbackFunction "+ dump(e));
        //alert(func);
        }
    }
}

var jsonpBridgeV=new JsonpBridge();